package com.yh.csx.bsf.flow.dao.dal.auto;

import java.util.ArrayList;
import java.util.Map;
import java.util.List;

import com.yh.csx.bsf.flow.core.db.ConvertUtil;
import com.yh.csx.bsf.flow.core.db.DbConn;
import com.yh.csx.bsf.flow.dao.model.auto.*;

/** 代码自动生成工具自动生成,不要在这里写自己的代码，否则会被自动覆盖哦 - 车毅*/
public class t_model_base_dal
{
    public boolean add(DbConn conn, t_model_model model)
    {
		Object[] Par = new Object[]{
		
		//
		model.name,
		//
		model.title,
		//
		model.pc_form_url,
		//
		model.mobile_form_url,
		//
		model.version,
		//
		model.is_use,
		//
		model.create_time,
		//
		model.update_time,
		//
		model.update_by,
		//
		model.create_by,
		//
		model.xml,
		//
		model.model_type
		};
        int rev = conn.executeSql("insert into t_model(name,title,pc_form_url,mobile_form_url,version,is_use,create_time,update_time,update_by,create_by,xml,model_type)"+
										"values(?,?,?,?,?,?,?,?,?,?,?,?)", Par);
        return rev == 1;

    }

    public boolean edit(DbConn conn, t_model_model model)
    {
        ArrayList<Object> Par = new ArrayList<Object>();
        
		//
		Par.add(model.name);
		//
		Par.add(model.title);
		//
		Par.add(model.pc_form_url);
		//
		Par.add(model.mobile_form_url);
		//
		Par.add(model.version);
		//
		Par.add(model.is_use);
		//
		Par.add(model.create_time);
		//
		Par.add(model.update_time);
		//
		Par.add(model.update_by);
		//
		Par.add(model.create_by);
		//
		Par.add(model.xml);
		//
		Par.add(model.model_type);
		Par.add(model.id);

        int rev = conn.executeSql("update t_model set name=?,title=?,pc_form_url=?,mobile_form_url=?,version=?,is_use=?,create_time=?,update_time=?,update_by=?,create_by=?,xml=?,model_type=? where id=?",  Par.toArray());
        return rev == 1;

    }

    public boolean delete(DbConn conn, int id)
    {
        ArrayList<Object> Par = new ArrayList<Object>();
        Par.add(id);

        String Sql = "delete from t_model where id=?";
        int rev = conn.executeSql(Sql, Par.toArray());
        if (rev == 1)
        {
            return true;
        }
        else
        {
            return false;
        }

    }

    public t_model_model get(DbConn conn, int id)
    {
        ArrayList<Object> Par = new ArrayList<Object>();
        Par.add(id);
        StringBuilder stringSql = new StringBuilder();
        stringSql.append("select s.* from t_model s where s.id=?");
        List<Map<String,Object>> ds = conn.executeList(stringSql.toString(), Par.toArray());
        if (ds != null && ds.size() > 0)
        {
			return createModel(ds.get(0));
        }
        return null;
    }

	public ArrayList<t_model_model> list(DbConn conn)
    {
		ArrayList<t_model_model> rs = new ArrayList<t_model_model>();
        StringBuilder stringSql = new StringBuilder();
        stringSql.append("select s.* from t_model s ");
        List<Map<String,Object>> ds = conn.executeList(stringSql.toString(), new Object[]{});
        if (ds != null && ds.size() > 0)
        {
			for (Map<String,Object> dr : ds)
			{
				rs.add(createModel(dr));
			}
        }
        return rs;
    }

	public t_model_model createModel(Map<String,Object> dr)
    {
        t_model_model o = new t_model_model();
		
		//
		if(dr.containsKey("id"))
		{
			o.id = ConvertUtil.objToInt(dr.get("id"));
		}
		//
		if(dr.containsKey("name"))
		{
			o.name = ConvertUtil.objToStr(dr.get("name"));
		}
		//
		if(dr.containsKey("title"))
		{
			o.title = ConvertUtil.objToStr(dr.get("title"));
		}
		//
		if(dr.containsKey("pc_form_url"))
		{
			o.pc_form_url = ConvertUtil.objToStr(dr.get("pc_form_url"));
		}
		//
		if(dr.containsKey("mobile_form_url"))
		{
			o.mobile_form_url = ConvertUtil.objToStr(dr.get("mobile_form_url"));
		}
		//
		if(dr.containsKey("version"))
		{
			o.version = ConvertUtil.objToInt(dr.get("version"));
		}
		//
		if(dr.containsKey("is_use"))
		{
			o.is_use = ConvertUtil.objToByte(dr.get("is_use"));
		}
		//
		if(dr.containsKey("create_time"))
		{
			o.create_time = ConvertUtil.objToDateTime(dr.get("create_time"));
		}
		//
		if(dr.containsKey("update_time"))
		{
			o.update_time = ConvertUtil.objToDateTime(dr.get("update_time"));
		}
		//
		if(dr.containsKey("update_by"))
		{
			o.update_by = ConvertUtil.objToStr(dr.get("update_by"));
		}
		//
		if(dr.containsKey("create_by"))
		{
			o.create_by = ConvertUtil.objToStr(dr.get("create_by"));
		}
		//
		if(dr.containsKey("xml"))
		{
			o.xml = ConvertUtil.objToStr(dr.get("xml"));
		}
		//
		if(dr.containsKey("model_type"))
		{
			o.model_type = ConvertUtil.objToByte(dr.get("model_type"));
		}
		return o;
    }
}
